package leetcode;

import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;

import javax.swing.text.StyleContext.SmallAttributeSet;

/**
 * 给你一个数组 nums，对于其中每个元素 nums[i]，请你统计数组中比它小的所有数字的数目。
 * 
 * 换而言之，对于每个 nums[i] 你必须计算出有效的 j 的数量，其中 j 满足 j != i 且 nums[j] < nums[i] 。
 * 
 * 
 * @author maodou38
 *
 */
public class Solution1365_mime {

	public static int[] smallerNumbersThanCurrent(int[] nums) {
		int[] copy = Arrays.copyOf(nums, nums.length);
		Arrays.parallelSort(nums);
		Map<Integer,Integer> map=new HashMap();
		for(int i=0;i<nums.length;i++) {
			if(map.get(nums[i])==null)//考虑到数据重复问题
				map.put(nums[i], i);
		}
		int[] result=new int[nums.length];
		for(int i=0;i<copy.length;i++) {
			result[i]=map.get(copy[i]);
		}
		return result;
	}

	public static void main(String[] args) {
		int[] smallerNumbersThanCurrent = smallerNumbersThanCurrent(new int[] {8,1,2,2,3});
		System.out.println();
	}
}
